"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/5/27 14:53
@Description : 
自定义异常
在程序编写的过程中需要根据具体的业务场景 抛出和业务相关的异常，但是在python中并没有提供对应的异常类，
如果使用其他异常类抛出异常信息 则会产生异常信息表达不明确的问题，所以可以在程序编写时定义一些和业务相关的异常


1. 主动抛出异常  raise
2. 自定义异常

"""
# 自定义异常
class AgeError(Exception):
    def __init__(self, message):
        super(AgeError, self).__init__(message)


class Student:
    def __init__(self):
        self.__age = None

    def set_age(self, age):
        if 0 < age < 130:
            self.__age = age
        else:
            # 直接抛出异常信息   AgeError  年龄错误
            raise AgeError('年龄异常')


if __name__ == '__main__':
    s = Student()
    try:
        age = int(input('请输入一个年龄:'))
        s.set_age(age)
    except AgeError as e:
        print(e)
        # print('年龄异常,请重新赋值')

    print('对象初始化完毕')
